package com.example.smart_community.service;

import com.example.smart_community.mapper.RepairorderMapper;
import com.example.smart_community.model.MessageModel;
import com.example.smart_community.po.Repairorder;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class RepairorderService {
    @Autowired
    private RepairorderMapper repairorderMapper;
    public List<Repairorder> selectByStatus(Integer statusId){
        PageHelper.startPage(2,4);
      return repairorderMapper.selectByStatus(statusId);
    }
  public MessageModel updateStatus(Integer id,Integer staffId,String assigntime,Integer statusId,String completetime){

      MessageModel messageModel=new MessageModel();
      if(statusId==1){
          staffId=null;
          assigntime=null;
          System.out.println(staffId);
          System.out.println(assigntime);
          int n=repairorderMapper.updateCancel(id, staffId, assigntime, statusId);
          if(n>0){
              messageModel.setCode(1);
              messageModel.setMsg("维修人员拒绝接收此任务");
              return messageModel;
          }else{
              messageModel.setCode(0);
              messageModel.setMsg("维修人员拒绝接收此任务出现异常");
              return messageModel;
          }
      }
      if(statusId==2){
         int n= repairorderMapper.updateAssign(id, staffId, assigntime, statusId);
         if(n>0){
             messageModel.setCode(1);
             messageModel.setMsg("指派成功");
             return messageModel;
         }else{
             messageModel.setCode(0);
             messageModel.setMsg("指派出现异常");
             return messageModel;
         }
      }
      if(statusId==3){

          int n=repairorderMapper.updateProcessing(id, statusId);
          if(n>0){
              messageModel.setCode(1);
              messageModel.setMsg("维修人员已接收任务");
              return messageModel;
          }else{
              messageModel.setCode(0);
              messageModel.setMsg("维修人员接收任务异常");
              return messageModel;
          }
      }
      if(statusId==4){
          int n=repairorderMapper.updateComplate(id, completetime, statusId);
          if(n>0){
              messageModel.setCode(1);
              messageModel.setMsg("维修人员成功确认完成");
              return messageModel;
          }else{
              messageModel.setCode(0);
              messageModel.setMsg("维修人员确认完成出现异常");
              return messageModel;
          }

      }
      return null;
  }
  public  List<Repairorder> selectByStaffId(Integer staffId){
      return repairorderMapper.selectByStaffId(staffId);
  }
}
